\section{Introducción general y aclaraciones}

El Buffer Manager es uno de los componentes más importantes dentro de un motor de BD. Su principal función es administrar un espacio de memoria de la BD, utilizado como una especie de memoria caché. El objetivo es que las diferentes aplicaciones que usan la BD y requieren páginas de disco, puedan recuperar la página de este espacio de memoria y accedan lo menos posible al disco.

Como toda caché, en algún momento de la ejecución debemos desalojar páginas de caché para dar sitio a otras páginas que se requieran en el momento. Elegir la página es un problema no trivial, pero del cual ya conocemos algunos approaches: FIFO, LRU, MRU, y variantes de éstas.

Oracle desarrolló una estrategia llamada Touch Count, que podría ser interpretada como una variante del algoritmo de LRU. Este approach reduce algunos problemas del LRU, como ser su pobre performance frente a operaciones de File Scan o grandes Index Scans.

En este trabajo discutiremos una implementación del algoritmo Touch Count, y compararemos su comportamiento con FIFO, LRU, y MRU frente a ciertos patrones conocidos de acceso a disco.

